#ifndef __DIRECTIONAL_H__
#define __DIRECTIONAL_H__

#include "Light.h"
#include "RGBColor.h"


namespace Engine
{
	class DirectionalLight : public Engine::Light
	{
	public:
		using Engine::Light::GetDirection;
		Point3D GetDirection(ShadeRec& sr)
		{
			return (m_location - sr.localHitPoint);
		}

		using Engine::Light::L;
		RGBColor L(ShadeRec& sr)
		{
			return (color * m_ls);
		}

		DirectionalLight()
		{
			color = RGBColor(1);
		}

		DirectionalLight(RGBColor& p_color = RGBColor(1), float p_radius = 1, float p_radiance = 1.0f)
		{
			color = p_color;
			SetRadiance(p_radiance);
		}
		using Engine::Light::TestIntersection;
		virtual void TestIntersection(Ray& p_currentRay, ShadeRec& p_details)
		{
			double tmin = INT_MAX;
		}

	private:
		RGBColor color;

	private:
	};
}

#endif // !__DIRECTIONAL_H__
